package com.core.system.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.pojo.entity.SystemTemplateEntity;
import com.pojo.req.template.InsertTemplateReq;
import com.pojo.req.template.UpdateTemplateReq;
import com.pojo.resp.template.TemplateDetailsResp;
import com.pojo.resp.template.TemplatePageResp;
import com.pojo.resp.template.TemplateParentResp;

import java.util.List;

/**
 * <p>
 * 系统菜单表  服务类
 * </p>
 *
 * @author hewei
 * @since 2020-11-26
 */
public interface ISystemTemplateService extends IService<SystemTemplateEntity> {
    /**
     * 查询所有未删除的菜单
     * @return
     */
    List<TemplatePageResp> getTemplateList();

    /**
     *  根据菜单对象判断查询集合
     * @param systemTemplateEntity 查询参数对象
     * @return
     */
    List<SystemTemplateEntity> getTemplateList(SystemTemplateEntity systemTemplateEntity);



    /**
     *  查询所以菜单列表
     * @param pid 父级id
     * @return
     */
    List<TemplateParentResp> getTemplateAllList(String pid);

    /**
     * 编辑菜单
     * @return
     */
    void updateTemplate(UpdateTemplateReq insertReq);

    /**
     * 新增菜单
     * @return
     */
    void insertTemplate(InsertTemplateReq insertTemplateReq);

    /**
     * 查询详情
     * @param id
     * @return
     */
    TemplateDetailsResp details(Long id);

    /**
     * 根据id 查询菜单
     * @param id
     * @return
     */
    void deleteById(Long id);
}
